from django.db import models


# Create your models here.
class User(models.Model):
    # 用户用户名 varchar(255)
    username = models.CharField(max_length=255)
    # 用户密码 varchar(255)
    password = models.CharField(max_length=255)
    # 用户头像
    photo = models.CharField(max_length=255)
    # 用户名字 varchar(255)
    name = models.CharField(max_length=255)
    # 用户电话 varchar(20)
    tel = models.CharField(max_length=20)
    # 用户性别 1为男 0为女
    sex = models.BooleanField()
    # 用户邮箱 varchar(255)
    email = models.CharField(max_length=255)
    # 是否为管理员 1为管理员 0为普通用户
    is_admin = models.BooleanField()
    # 创建时间
    create_time = models.DateField(auto_now_add=True)
    # 更新时间
    update_time = models.DateField(auto_now=True)
    # 是否删除 软删除
    status = models.BooleanField(default=1)

    class Meta:
        ordering = ['id']


class Article(models.Model):
    # 发布用户ID
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    # 标题 varchar(255)
    title = models.CharField(max_length=255)
    # 内容 text(5000)
    content = models.TextField(max_length=5000)
    # 分类 int
    classify = models.ForeignKey('Classify', on_delete=models.CASCADE)
    # 浏览数量
    view_num = models.IntegerField(default=0)
    # 创建时间
    create_time = models.DateField(auto_now_add=True)
    # 更新时间
    update_time = models.DateField(auto_now=True)
    # 是否删除 软删除
    status = models.BooleanField(default=1)


class Classify(models.Model):
    # 分类名字
    name = models.CharField(max_length=255)
    # 介绍 varchar(255)
    describe = models.CharField(max_length=255)
    # 创建时间
    create_time = models.DateField(auto_now_add=True)
    # 更新时间
    update_time = models.DateField(auto_now=True)
    # 是否删除 软删除
    status = models.BooleanField(default=1)

    class Meta:
        ordering = ['id']


class Visitors(models.Model):
    # 访客量 int
    visitors = models.IntegerField()
    # 创建时间
    create_time = models.DateField(auto_now_add=True)
    # 更新时间
    update_time = models.DateField(auto_now=True)
    # 是否删除 软删除
    status = models.BooleanField(default=1)

    class Meta:
        ordering = ['id']


class Comment(models.Model):
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    article = models.ForeignKey('Article', on_delete=models.CASCADE)
    content = models.TextField(max_length=5000)
    # 创建时间
    create_time = models.DateField(auto_now_add=True)
    # 更新时间
    update_time = models.DateField(auto_now=True)
    # 是否删除 软删除
    status = models.BooleanField(default=1)
